home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #1 / Ham Radio 2000.iso / ham2000 / packet / terminal / dp410 / tf26_1.eng < prev    next >
Encoding:
Text File  |  1994-09-17  |  16.1 KB  |  361 lines

  1.  
  2.                          T H E  F I R M W A R E
  3.                          ======================
  4.  
  5.                             AX.25 Version 2
  6.                        Multi Channel TNC Firmware
  7.                              Version 2.6
  8.  
  9.  
  10.  
  11. TheFirmware Version 2.6 DAMA/SMACK/XHOST (xx Channel)
  12.    Copyright by NORD><LINK, xx-xx-xx
  13.       Free for non-commercial usage
  14.  
  15. Checksum (xxxx) = xxxx
  16.  
  17. This is the startup message of TheFirmware in terminal mode, if the EPROM
  18. TF2.6 is installed correctly in a TNC-2 (or compatible).
  19. It is the newest "official" TheFirmware by NORD><LINK. The authors of the
  20. software are not mentionend any longer in the startup message, because many
  21. co-authors have updated the software and and the complete list is very long.
  22. The main code was written by Michael, DC4OX, the DAMA-implementation was
  23. done by Frank, DL8ZAW and updates were done by DB2OS, DF2AU, DK6PX, DL1MEN,
  24. DF7ZE, DL9HCJ and many others.
  25.  
  26. We hope the version TF2.6 is now bug free. Many improvements were done
  27. compared with older versions. Especially the DAMA-mode was updated. All
  28. known bugs were removed and new functions, like the extended hostmode
  29. by DG3DBI, were implemented.
  30.  
  31. The complete AX.25 protocol, Version 2.0, link layer, described in ARRL
  32. specification of october 1984, is implemented in TheFirmware. The old
  33. version 1.x is not implemented any longer. Up to 10 different connections
  34. are possible with the version supplied as EPROM-data. In the sourcecode
  35. the number of connections can be changed to any number.
  36.  
  37. TheFirmware version 2.6 is needed for digipeaters using the DAMA-protocol,
  38. but it has some advantages for "normal" digipeaters or direct traffic, too.
  39.  
  40. TheFirmware detects the DAMA-mode automatically and changes its behaviour
  41. in this case. DAMA-mode can be seen by a display of [DAMA] in the monitor-
  42. headers. In DAMA-mode the TNC sends only, if it is forced by the
  43. DAMA-master. If after a certain time no DAMA-traffic is monitored, the TNC
  44. will switch back to normal behaviour.
  45.  
  46. The DAMA-protocol is described in cqDL 4/89 Page 230+ and in the HamRadio-
  47. BBSs.
  48.  
  49. In addition the EPROM contains the improved KISS-mode with CRC called
  50. SMACK by DL5UE and DK5SG. Using this mode, all parameters of TheFirmware
  51. will not be destroyed, but the software-clock will not be updated.
  52. The SMACK-command 255, leave SMACK is implemented.
  53.  
  54.  
  55. A checksum is calculated after reset and the result is displayed in the
  56. startup message. It must be equal to the value in brackets (even with
  57. changed default-values in EPROM). In case the values are not equal, the
  58. programming of the EPROM was not successful.
  59.  
  60. At the first start it might be useful to execute the command "<ESC> QRES"
  61. in terminal mode to force a cold boot. In this case old data in the buffered
  62. RAM will be deleted and can cause no trouble. QRES will set all parameters
  63. to the default-value stored in the EPROM.
  64.  
  65. The EPROM data contains no callsign. With the 'I'-command it can be set.
  66. In addition all other parameters can be changed. They are copied into the
  67. buffered RAM and will stay active until the next coldboot with QRES.
  68.  
  69.  
  70. Commands and data are transmitted to the TNC as lines. Each line can contain
  71. up to 256 characters including the <CR> at the end of the line. If the 256.
  72. character is no <CR>, it is ignored and a <BEL> is sent. The last entered
  73. character can be deleted by <BS> (=08h) oder <DEL> (=7Fh). <CTL-U> or
  74. <CTL-X> delete the entire line. <CTL_R> sets the cursor to the beginning
  75. of the line without deleting the line. Now received data can be displayed.
  76. A second <CTL-R> will restore the line. Between these two <CTL-R> all data
  77. except <X-OFF> and <X-ON> will be ignored. <BEL> characters will be sent
  78. as <BEL> charcters when entered or deleted. Lines beginning with <ESC>
  79. (echoed as '* ') are interpreted as command lines. If a command is given
  80. without a parameter the actual value is displayed. All lines without a
  81. <ESC> at the beginning will be sent as data.
  82.  
  83.  
  84. TheFirmware provides 11 logical TNC channels, which are numbered from 0 to
  85. 10. The terminal is logically connected to one of these channels, the
  86. selection is done with the 'S'-command. Channel 0 is reserved for unproto
  87. transmissions (CQ, Beacon). The destination for channel 0 is selected like
  88. for the other channels with the 'C'-command. In terminal mode the channels
  89. 1 to 10 transmit entered data as unproto frames while they are not
  90. connected. Connections can be built up on any of the channels as long as
  91. it not already connected. Connect requests from other stations are put
  92. on the first free channel as long as the maximum number of simultaneos
  93. connections (command 'Y') is not reached.
  94. Information received on a connected channel which is not the currently
  95. active channel will be stored until the channel is selected. The 'L'-
  96. command gives an Overview about the currently not displayed data.
  97. Information will be send only on the currently selected channel. After
  98. disconnect all received data will be stored until fetched by selecting this
  99. channel. If the connection path shall be changed during the connection,
  100. no disconnect is needed. A new 'C'-command will change the path without
  101. a loss of data. But more than one connection to the same destination it
  102. not possible. This can only be achieved by using different SSIDs.
  103.  
  104. A special version with 27 channels is existing for the use with mailboxes.
  105.  
  106.  
  107. Only version 2 of the protocol is supported, connect request with version 1
  108. will be rejected. Version 2 is the better solution for networks and provides
  109. a better throughput on busy channels.
  110.  
  111. In version 2 after the last transmission a timer is started. After a
  112. configurable time the remote station will be polled to assure that the
  113. connection is still available. With the 'N'-command the maximum number of
  114. retries can be specified. After this number of retries the connection will
  115. be disconnected. This covers the case that the remote station silently will
  116. disappear during a connection.                                                                  
  117.  
  118.  
  119. The values for 'F', 'I', 'N' and 'O' are stored seperatly for every channel.
  120. They are initialized from the values of channel 0 after restart or
  121. disconnect. Therefore these values can be changed during a connect to
  122. different values without changing the values for other channels. After
  123. disconnect the default values are available again. Executing a 'D'-command
  124. on a not connected channel will set these values to the default values.
  125.  
  126.  
  127. The 'M'-command allows to monitor all activity on the frequency. With the
  128. given parameter the wanted information can be selected. The parameters
  129. can be combined.
  130.  
  131.       Parameter     Packet-type
  132.       ---------     -----------
  133.           N         Monitoring off
  134.           I         Information packets
  135.           U         Unproto packets
  136.           S         Supervisory packets
  137.           C         Monitoring if connected
  138.           +         only packets to or from specific stations (max. 8)
  139.           -         suppress packets to or from specific stations (max. 8)
  140.  
  141. The parameters '+' and '-' must not be combined. They must be entered as
  142. last parameter in front of the callsigns. Specifying no callsigns will
  143. delete the entire list.
  144.  
  145. A '*' indicates which station has transmitted the data. The type of the
  146. packet can be retrieved from the following list. 
  147.  
  148.           Name           Description
  149.           ----           ------------
  150.           RRa            Ready for next packet
  151.           RNRa           Receiver busy
  152.           REJa           Packet is rejected
  153.           UI             Unproto frame (send to all)
  154.           DM             No connection active
  155.           SABM           Connect request
  156.           DISC           Disconnect request
  157.           UA             Confirmation of a request
  158.           FRMR           Protocol error
  159.           Iab            Information packet
  160.           ?ccH           Not defined type
  161.  
  162. Additional description:
  163.           a  = Number of the next expected packet
  164.           b  = Number of the packet
  165.           cc = Number in Hex-base
  166.  
  167. An additional character will give information about the used protocol-
  168. version and the value of the poll/final and command/response bit.
  169.  
  170.     <empty> = Version 1 without P/F bit
  171.           ! = Version 1 with P/F bit
  172.           ^ = Version 2 command packet without poll bit
  173.           + = Version 2 command packet with poll bit
  174.           - = Version 2 response packet with final bit
  175.           v = Version 2 response packet without final bit
  176.  
  177. The protocol identifier (PID) will be displayed in Hex-base.
  178.  
  179. CAUTION:
  180. Monitoring will only be active if more than 256 buffers are free in the
  181. TNC. Otherwise using slow computers or programs will lead to no
  182. available buffers on a busy channel.
  183.  
  184.  
  185. Using the 'U'-command an automatic connect text can be activated. This
  186. text will be sent if a remote station will start a connect. Normally
  187. this text can contain your name, qth, locator, e.t.c. and you don't have
  188. to enter it manually. This feature does not change any of your possibilties
  189. of entering text or bulding up connections.
  190. You can provide a simple mailbox by this feature, too. You can tell in the
  191. connect text that all text entered by the remote station will be stored.
  192. If you leave then your terminal program with channel 0 selected, the
  193. information of all connections received in TNC-only mode will be stored
  194. and can be retrieved after the activation of the program by switching
  195. to these channels. If selected with the 'Z'-command the output can be
  196. stopped with <CTL-S> and continued with <CTL-Q>.
  197.  
  198. A new feature of the 'U'-command is parameter 2. If it is specified,
  199. a packet with '//Q' at the beginning will start a disconnect. This is
  200. useful, because the remote station will be reconnected to the last
  201. digipeater and don't have to build up the whole path again.
  202. This feature is only active in terminal mode.
  203.  
  204.  
  205. The 'H'-command can activate a list of heard stations on the frequency.
  206. The list implemented in TheFirmware is different to other implementations.
  207. It is not a list of the last 20 heard stations because such a list is
  208. not useful on a very busy channel. The implemented list is dynamical and
  209. the maximum number of stations is limited by the RAM-memory or the given
  210. maximum number (with the 'H'-command). For every callsign (including SSID)
  211. the following values will be stored: 
  212.  
  213.            - Callsign and SSID
  214.            - Date and time when first heard
  215.            - Date and time when las heard
  216.            - Number of received I-frames
  217.            - Number of received RR-frames
  218.            - Number of received REJ-frames
  219.            - Number of received RNR-frames
  220.  
  221. Die digipeater path is not stored because of TheNet / NETROM digipeaters.
  222. The number of received frames can be used for statistical investigations
  223. concerning activity or quality of transmissions.
  224.  
  225. Because the list is a sequential list (dynamically allocated) for every
  226. heard packet the list must be scanned. Therefore the speed of TheFirmware
  227. is decreased by a large heard list. 'H 0' disables the update of the heard
  228. list. The heard list is resident, it is not deleted after a restart, only
  229. by a cold boot.
  230.  
  231. The 'H'-command is available in hostmode, too. But there are some things
  232. which must be known. The first line will be returned with hostmode code
  233. 1 (success, message follows). The entire list will be returned on channel
  234. 0 like a header of a monitored packet (code 5 monitor data, null terminated,
  235. Info follows). The last line will be returned with code 4 (monitor data,
  236. null terminated). This handling is succesful with most of the existing
  237. hostmode programs without a change.
  238.  
  239.  
  240. TheFirmware provides a built-in software clock and calendar. All status
  241. messages (connect, disconnect) and the monitored packets can be stamped
  242. with date and time. The 'K'-command controls the stamping of messages,
  243. the value 0 disables the feature, value 1 only enables the feature for
  244. status messages and value 2 enables it for status messages and monitored
  245. frames. A change of the value will be effective even for older messages
  246. still waiting in the buffers of the TNC. Without parameter the current
  247. date and time will be displayed.The date can be entered in european or
  248. american format and the stamp will use this format. Date and time will
  249. be deleted on a cold boot with QRES. After a restart the start time is
  250. date and time when the TNC was last switched off. This allows to detect
  251. a power failure during TNC-only mode. The software clock works almost
  252. correctly without any corrections.
  253.  
  254.  
  255. APPENDIX
  256. --------
  257. Short descriptions of all important changes:
  258.  
  259.  
  260. 1. Frame acknowledgement timer T1 (FRACK)
  261. -----------------------------------------
  262. There is not any longer a fixed FRACK-value, for every connection the
  263. time between sending of a information packet and the receiving of the
  264. acknowledgement is measured and will be used to calculate the current
  265. value of the T1 timer.
  266.  
  267. The measured time RTT (round trip time) will be calculated to a SRTT
  268. (smoothed round trip time) to reduce the changes of the T1-timer.
  269.  
  270. - increasing RTT:  SRTT' = ( a1 x SRTT + RTT ) / ( a1 + 1 )
  271.  
  272. - decreasing RTT:  SRTT' = ( a1 x SRTT + RTT ) / ( a2 + 1 )
  273.  
  274. SRTT is the value of the last calculation, RTT the measured time, a1 and
  275. a2 are configurable parameters and SRTT' is the new value for the
  276. smoothed round trip time.
  277.  
  278. The timer T1 is calculated from SRTT by:
  279.  
  280.   T1 = a3 x SRTT
  281.  
  282. a3 is a configurable parameter.
  283.  
  284.  
  285. At the beginning of a connection SRTT must be initialized, because no
  286. measuring is available. This is done with the value (IRTT, initial round
  287. trip time) provided with the 'F'-command (steps of 10ms). The RTT-
  288. calculation begins after the the acknowledge (UA) of the remote station
  289. is received. Using several digipeaters the T1 timer is calculated according
  290. to the following formula: 
  291.  
  292.          T1 = (2 x "Number of digipeaters" + 1) x IRTT
  293.  
  294. The values a1, a2 and a3 can be changed with the commands '@A1','@A2' and
  295. '@A3'. Digipeater using hop-to-hop acknowledge and digipeater fields in
  296. the packet (Flexnet, Baycom) forced the using of the SRTT.
  297.  
  298.  
  299. 2. DWAIT suggested by DL4YBG
  300. ----------------------------
  301. Before the transmission is started the slottime is waited in every case
  302. and then the p-persitance-algorithm is started. This is applicable in
  303. all modes except DAMA. In DAMA mode slottime is changed internally to 0
  304. and persistance to 255 to allow a transmission immediately.
  305. This modification will reduce the possibiliy of collisions on the
  306. frequency.
  307.  
  308.  
  309. 3. Polling using I-Frames suggested by DK6PX
  310. --------------------------------------------
  311. If an information packet is not acknowledged by the remote station, a
  312. RR-frame with poll bit set ist send (polling). If the information frame
  313. only contains a few characters the I-frame will not be much longer than
  314. the RR-frame. Therefore I-polling is introduced where not a RR-frame is
  315. sent, but the I-frame with the poll-bit set. The maximum number of
  316. characters in an I-frame when this feature shall be used can be configured
  317. with command '@I'. If you don't want I-polling it can be disabled by
  318. '@I 0'. In DAMA-mode I-polling is generally switched off.
  319.  
  320.  
  321. 4. Dynamic MAXFRAME suggested by DK6PX
  322. --------------------------------------
  323. Tests show that this feature decreases the performance on bad links
  324. or on shortwave. Therefore it is removed in TF2.6.
  325.  
  326.  
  327. 5. DCD/PTT-deadlock
  328. -------------------
  329. An error concerning a deadlock of the TNC when special DCD- and PTT-
  330. states occur are removed (information by Y51GE). Another error concerning
  331. a blocking of DCD is solved,too.
  332.  
  333.  
  334. 6. DAMA-parameter
  335. -----------------
  336. After leaving the DAMA-mode the parameters P,W,B,@T2 will be restored to
  337. their original values. A change of P and W in DAMA-mode will not change
  338. the actual values. The entered values will get active if DAMA-mode is
  339. finished. 
  340.  
  341.  
  342. 7. Disconnect suggested by DL1MEN
  343. ---------------------------------
  344. If the link setup is cancelled with the 'D'-command, a DISC-frame will
  345. be sent. This is useful if only you were not able to receive the packets
  346. of the remote station, but it has received the link setup and will send
  347. poll packets until the maximum number of retries is reached.
  348.  
  349.  
  350. 8. Heard-list
  351. -------------
  352. The heard list is changed to overwrite the oldest entries, therefore the
  353. heard list contains the last heard stations.
  354.  
  355.  
  356.  
  357. Compiled from various descriptions 
  358. of the authors ................................ DJ1OR september/1992
  359. Updated for TF2.6 ............................. DB2OS july/1993
  360. Translated to english ......................... DL4YBG september/1994
  361.